#ifndef ZGF_TCPSOCKET_SOCKETADDR_H
#define ZGF_TCPSOCKET_SOCKETADDR_H

#include "ZGF_SocketComDef.h"

#include <string>
using std::string;

namespace ZGF
{
	struct AddrData;

	class ZGF_SocketAddr
	{
	private:
		//AddrData* m_addrData;
		sockaddr_in m_sockaddr;
	public:
		ZGF_SocketAddr(const char* INip, unsigned short INport);

		ZGF_SocketAddr(const sockaddr_in& INaddrData);

		ZGF_SocketAddr(const ZGF_SocketAddr& INinstance);

		~ZGF_SocketAddr();

	public:
		ZGF_SocketAddr& operator = (const ZGF_SocketAddr& INinstance);

		ZGF_SocketAddr& operator = (const sockaddr_in& INaddrDatae);

		string GetIP();

		unsigned short GetNetPort();

		unsigned short GetHostPort();

		sockaddr GetSockaddr();

	};
}

#endif